<?php
require_once ("model/image.php");
require_once ("model/imageDAO.php");
require_once ("model/data.php");
class UploadPhoto {
	private $imgDAO;
	private $img;
	
	function __construct() {
		global $data;
		$data = new Data ();
		$this->imgDAO = new ImageDAO(".");
		$data->upload_error="";
		// Récupère la liste des catégories
		$data->categorieList = $this->imgDAO->getCategories();
		
	}
	function index() {
		global $data;
		

		// Charge le menu
		$this->menu();
		
		// Indique la vue à afficher et charge le contenu
		$data->content = "uploadView.php";
		require_once ("view/mainView.php");
	}
	
	function uploadFile() {
		global $data;
		# On limite les extensions possibles
		$exts = Array("gif","png","jpeg","jpg");
		$temp = explode(".",$_FILES["file"]["name"]);
		$fileExtension = end($temp);
		# Si le fichier a une extension autorisée
		if (in_array($fileExtension,$exts)) {
			if ($_FILES["file"]["error"] > 0)
			{
				$data->upload_error = $data->upload_error."<br/> Error: " . $_FILES["file"]["error"] . "<br>";
			}
			else {
				# 
			 	$filepath = "data/IMG/jons/upload/".$_FILES["file"]["name"];
				if (file_exists($filepath)) {
					$data->upload_error = $data->upload_error."<br/> Le fichier existe déjà";
				} else {
					# On déplace le fichier depuis le dossier tmp vers le dossier de destination
					move_uploaded_file($_FILES["file"]["tmp_name"],$filepath);
					# On crée une nouvelle image en base de donnée
					$newImg = new Image("jons/upload/".$_FILES["file"]["name"],"",$_POST["filtreCategorie"],"No comment");
					$this->imgDAO->insertImage($newImg);
				}
			}
		} else {
			$data->upload_error = $data->upload_error."<br/> Le format du fichier n'est pas autorisé ( .gif, .jpg, .jpeg, .png) ";
		}
		
		// Charge le menu
		$this->menu();
		
		// Indique la vue à afficher et charge le contenu
		$data->content = "uploadView.php";
		require_once ("view/mainView.php");
	}
	
	function hotlinkFile() {
		global $data; 
		
		// TODO : ADD Comments in view and factorize with uploadPhoto
		if (isset($_POST["filtreCategorie"])  && isset($_POST["hotlinkURL"])) {
			$newImg = new Image($_POST["hotlinkURL"],"",$_POST["filtreCategorie"],"No comment");
			$this->imgDAO->insertImage($newImg);
		}	

		// Charge le menu
		$this->menu();
		
		// Indique la vue à afficher et charge le contenu
		$data->content = "uploadView.php";
		require_once ("view/mainView.php");

	}
	
	/************************************************************************************************
	 *                                       UTILITAIRES                                            *
	 ************************************************************************************************/
	 
	private function menu() {
		global $data;

		// Mise en place du menu
		$data->menu ['Home'] = "index.php?controller=home&action=index";
		$data->menu ['A propos'] = "index.php?controller=home&action=aPropos";
		$data->menu ['Voir photos'] = "index.php?controller=viewPhoto&action=index";
		$data->menu ['Upload de photos']="index.php?controller=uploadPhoto&action=index";
		$data->menu ['Gestion des albums']="index.php?controller=gestionAlbums&action=index";
	}
}
?>